﻿@{
    Layout = null;
}
@*批量装箱*@
<style>
    #picker input[type="file"] {
        opacity: 0;
    }

    .form-group .form-control p {
        margin: 0;
    }
</style>
<script src="~/Scripts/WebUploader/webuploader.min.js"></script>
@*<script src="~/Scripts/WebUploader/webuploader.js"></script>*@
<div data-example-id="togglable-tabs">
    <div role="tabpanel" class="tab-pane fade active in" id="uploader" aria-labelledby="UpCode-tab">
        <!--上传物流码-->
        <div class="form-group" style="display:flex;margin-top:30px;">
            <label id="picker" class="btn btn-success">选择文件</label>
            <div class="form-control"></div>
        </div>
        <p class="h2">文档上传须知：</p>
        <p>1. 先排码后导入，可建立无限级别拖标关系, 排码顺序为（一级，二级，三级，.....)</p>
        <p>2. 请上传按模板格式生成的TXT文档</p>
        <div class="row" style="display:flex;justify-content:center">
            <button class="btn btn-success" id="UpLoad">下一步</button>
        </div>
    </div>
</div>
<script>

    $(function () {
        GUID = WebUploader.Base.guid();
        var uploader = WebUploader.create({

            // swf文件路径
            swf: '~/Scripts/WebUploader/Uploader.swf',

            // 文件接收服务端。
            // server: 'FleeGoods/PackBoxUploadTxt',
            server: 'DBH/ProcessRequest',
            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建，可能是input元素，也可能是flash.
            pick: {
                id: '#picker',
                multiple: false
            },
            accept: {
                title: '文本',
                extensions: 'txt',
                mimeTypes: '*.txt'
            },
            chunked: true,//分片处理大文件
            chunkSize: 2 * 1024 * 1024,
            //由于Http的无状态特征，在往服务器发送数据过程传递一个进入当前页面是生成的GUID作为标示
            formData: { guid: GUID },
            fileNumLimit: 2,  //上传文件的数量限制
            compress: false, //图片在上传前不进行压缩
            fileSizeLimit: 6 * 1024 * 1024 * 1024,    // 所有文件总大小限制 6G
            fileSingleSizeLimit: 5 * 1024 * 1024 * 1024,   // 单个文件大小限制 5 G
            threads: 1, //上传并发数
            disableGlobalDnd: true,


        });

        // 当有文件被添加进队列的时候
        uploader.on('fileQueued', function (file) {
            $('#picker').next().append('<div id="' + file.id + '" >' +
                '<span class="info">' + file.name + '</span>' +
                '<p class="state">请点击下一步</p>' +
            '</div>');

            $('#picker').attr('disabled', 'disabled');
            $('#picker input[type="file"]').attr('disabled', 'disabled');
        });
        // 文件上传过程中创建进度条实时显示。
        uploader.on('uploadProgress', function (file, percentage) {
            var $li = $('#' + file.id),
                $percent = $li.find('.progress .progress-bar');

            // 避免重复创建
            if (!$percent.length) {
                $percent = $('<div class="progress progress-striped active">' +
                  '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                  '</div>' +
                '</div>').appendTo($li).find('.progress-bar');
            }

            $li.find('p.state').text('上传中');

            $percent.css('width', percentage * 100 + '%');
        });
        uploader.on('uploadSuccess', function (file, response) {
            // console.log(response._raw);
            $.post("FleeGoods/PackBoxUploadTxt", { filePath: response._raw },
                function (r) {
                    ////跳转页面
                    if (r > 0) {
                        $.MGJ.PackBox.Dialog_EditPacking({ 'ID': r });
                        $.MGJ.PackBox.Dialog_BatchPackingObj.close();

                    } else if (r == -1) {
                        $.L.msgError("无权限操作");
                    }
                    else if (r == -2) {
                        $.L.msgError("该码不属于本公司！");
                    }
                    else if (r == -3) {
                        $.L.msgError("上传文件中存在已装箱过的码！");
                    }
                    else if (r == -4) {
                        $.L.msgConfirm("当前批次已装箱，是否继续?", function () {
                            $.post("FleeGoods/PackBoxUploadTxt", { filePath: response._raw,isGo:1 },
                                function (r) {
                                    $.MGJ.PackBox.Dialog_EditPacking({ 'ID': r });
                                    $.MGJ.PackBox.Dialog_BatchPackingObj.close();
                                }
                                );
                        })
                    }
                    else {
                        $.L.msgError("上传失败！");
                    }
                });
        });

        uploader.on('error', function () {
            $.L.msgError("格式有误,请上传TXT文件！");
        })

        uploader.on('uploadError', function (file, r) {

            $.L.msgError("上传出错！");
            $('#' + file.id).find('p.state').text('');
        });

        uploader.on('uploadComplete', function (file) {
            $('#' + file.id).find('.progress').fadeOut();
        });
        //下一步
        $('#UpLoad').click(function () {
            uploader.upload();
        })
    });


</script>


